home *** CD-ROM | disk | FTP | other *** search
/ PC World Interactive 7 / PC World Interactive 7.iso / program / ctutor.exe / TEXT / CHAP13.TXT < prev    next >
Text File  |  1994-05-15  |  6KB  |  174 lines

  1.  
  2.  
  3.  
  4.                                                        Chapter 13
  5.                                    CHARACTER AND BIT MANIPULATION
  6.  
  7. UPPER AND LOWER CASE
  8. -----------------------------------------------------------------
  9. Examine the program named UPLOW.C for an        =================
  10. example of a program that does lots of               UPLOW.C
  11. character manipulation.  More specifically,     =================
  12. it changes the case of alphabetic 
  13. characters.  It illustrates the use of four functions that have 
  14. to do with case.  It should be no problem for you to study this 
  15. program on your own and understand how it works.  The four 
  16. functions on display in this program are all within the user 
  17. written function, mix_up_the_chars().  Compile and run the 
  18. program with the file of your choice.  The four functions are;
  19.  
  20.      isupper(c);   Is the character upper case?
  21.      islower(c);   Is the character lower case?
  22.      toupper(c);   Make the character upper case.
  23.      tolower(c);   Make the character lower case.
  24.  
  25. Many more classification and conversion routines are listed in 
  26. the reference material for your compiler.  You should spend time 
  27. studying these at this time to get an idea of what functions are 
  28. available.
  29.  
  30.  
  31. CLASSIFICATION OF CHARACTERS
  32. -----------------------------------------------------------------
  33. Load and display the next program, CHARCLAS.C    ================
  34. for an example of character counting.  We have      CHARCLAS.C
  35. repeatedly used the backslash n character        ================
  36. representing a new line.  These are called 
  37. escape sequences, and some of the more commonly used are defined 
  38. in the following table;
  39.  
  40.      \n      Newline
  41.      \t      Tab
  42.      \b      Backspace
  43.      \"      Double quote
  44.      \\      Backslash
  45.      \0      NULL (zero)
  46.  
  47. Consult your compiler documentation for a complete list of escape 
  48. sequences available with your compiler. 
  49.  
  50. By preceding each of the above characters with the backslash 
  51. character, the character can be included in a line of text for 
  52. display, or printing.  In the same way that it is perfectly all 
  53. right to use the letter n in a line of text as a part of 
  54. someone's name, and as an end-of-line, the other characters can 
  55. be used as parts of text or for their particular functions. 
  56.  
  57.                                                         Page 13-1
  58.  
  59.                       Chapter 13 - Character and Bit Manipulation
  60.  
  61.  
  62. This example program uses three of the functions that can 
  63. determine the class of a character, and counts the characters in 
  64. each class.  The number of each class is displayed along with the 
  65. line itself.  The three functions are as follows;
  66.  
  67.      isalpha(c);   Is the character alphabetic?
  68.      isdigit(c);   Is the character a numeral?
  69.      isspace(c);   Is the character any of, \n, \t, or blank?
  70.  
  71. As noted above, many more classification routines are available 
  72. with your compiler.
  73.  
  74. This program should be simple for you to find your way through, 
  75. so no explanation will be given.  It was necessary to give an 
  76. example with these functions used.  Compile and run this program 
  77. with any file you choose.
  78.  
  79.  
  80. THE LOGICAL FUNCTIONS
  81. -----------------------------------------------------------------
  82. Load and display the program BITOPS.C.  The      ================
  83. functions in this group of functions are used        BITOPS.C
  84. to do bitwise operations, meaning that the       ================
  85. operations are performed on the bits as though 
  86. they were individual bits.  No carry from bit to bit is performed 
  87. as would be done with a binary addition.  Even though the opera-
  88. tions are performed on a single bit basis, an entire byte or 
  89. integer variable can be operated on in one instruction.  The 
  90. operators and the operations they perform are given in the 
  91. following table;
  92.  
  93.      &     Logical AND, if both bits are 1, the result is 1.
  94.      |     Logical OR, if either bit is one, the result is 1.
  95.      ^     Logical XOR, (exclusive OR), if one and only one bit 
  96.                 is 1, the result is 1.
  97.      ~     Logical invert, if bit is 1, the result is 0, and if 
  98.                 bit is 0, the result is 1.
  99.  
  100. The example program uses several fields that are combined in each 
  101. of the ways given above.  The data is in hexadecimal format.  It 
  102. will be assumed that you already know hexadecimal format if you 
  103. need to use these operations.  If you don't, you will need to 
  104. study it on your own.  Teaching the hexadecimal format of numbers 
  105. is beyond the scope of this tutorial.  Be sure to compile and 
  106. execute this program and observe the output.
  107.  
  108.  
  109. THE SHIFT INSTRUCTIONS
  110. -----------------------------------------------------------------
  111. The last two operations to be covered in this   =================
  112. chapter are the left shift and the right shift      SHIFTER.C
  113. instructions.  Load the example program         =================
  114.  
  115.                                                         Page 13-2
  116.  
  117.                       Chapter 13 - Character and Bit Manipulation
  118.  
  119. SHIFTER.C for an example using these two 
  120. instructions.  The two operations use the following operators;
  121.  
  122.      << n      Left shift n places.
  123.      >> n      Right shift n places.
  124.  
  125. Once again the operations are carried out and displayed using the 
  126. hexadecimal format.  The program should be simple for you to 
  127. understand on your own, there is no tricky code.
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.                                                         Page 13-3
  174.